#ifndef __EVENTGROW_HPP__
#define	__EVENTGROW_HPP__

#include <vector3d.h>
#include "../EventBase.hpp"

namespace Event
{
    class EventGrow :
    public EventBase
    {
    protected:
        
		EventGrow( float _timeToWait = 0, int _nbFires = 0) :
			EventBase((void*)NULL,EVENT_GROW, _timeToWait, _nbFires),
			m_idToChange(0),
			m_newAge(0)
		{
		}
		/**
         * @fn       EventGrow(int _idToChange, float _timeToWait = 0, int _nbFires = 0))
         * @brief    Contructor
         * @param    _timeToWait     time we have to wait before firing the event
         * @param    _nbFires        number of time we have to fire the event
         */
        /*EventGrow(int _idToChange, int _newAge, float _timeToWait = 0, int _nbFires = 0) :
        EventBase((void*)NULL,EVENT_GROW, _timeToWait, _nbFires),
        m_idToChange(_idToChange),
        m_newAge(_newAge)
        {
        }*/
    public:
        /**
         * @fn       EventGrow(void* _sender, unsigned long _idToChange, float _timeToWait = 0, int _nbFires = 0))
         * @brief    Contructor
         * @param    _timeToWait     time we have to wait before firing the event
         * @param    _nbFires        number of time we have to fire the event
         */
        EventGrow(void* _sender, unsigned long _idToChange, int _newAge, float _timeToWait = 0, int _nbFires = 0) :
        EventBase(_sender, EVENT_GROW, _timeToWait, _nbFires),
        m_idToChange(_idToChange),
        m_newAge(_newAge)
        {
        }

        /**
         * @fn       EventGrow(const EventGrow& orig)
         * @brief    Copy Contructor
         * @param    orig       Copy of the event we have to do
         */
        EventGrow(const EventGrow& orig) :
        EventBase(orig),
        m_idToChange(orig.m_idToChange),
        m_newAge(orig.m_newAge)
        {
        }

        /**
         * @fn       getIdChanged()
         * @brief    Getter on the event
         * @return   event of the keyboard
         */
		unsigned long getIdChanged()
        {
            return m_idToChange;
        }

        /**
         * @fn       getNewPosition()
         * @brief    Getter on the event
         * @return   event of the keyboard
         */
		int getNewAge()
        {
            return m_newAge;
        }

        /**
         * @fn       ~EventGrow()
         * @brief    Virtual Destructor
         */
        virtual ~EventGrow()
        {
        }
    protected:
        unsigned long m_idToChange;
        int m_newAge;

    };

} //  namespace Event


#endif	/* __EVENTGROW_HPP__ */

